#!/bin/sh

#################################################################
#								#
#	Este daemon queda mirando el directorio $ARRIDIR 	#
#		y mueve los archivos a $RECHDIR que no		#
#		encuentra en $MAEDIR/sucu.mae			#
#		y los que encuentra los mueve a $INSTREC	#
#		desde estas variables se puede modificar	#
#		los directorios a controlar, y con el valor	#
#		de sleep los segundos del daemon		#
#								#
#################################################################
sucu="sucu.mae"

#Como es un proceso de tipo demonio, se ejecuta indefinidamente hasta que se detiene con StopD.sh

while :;do
	ver=`ls "$ARRIDIR" | wc -l` 2>&1
	#Analizo la cantidad de archivos en el directorio ARRIDIR
	if [ $ver -ne 0 ]  
	then
	{ 
           test=true
           #Recorro todos los archivos del directorio ARRIDIR
	   for i in `ls "$ARRIDIR"`
	   do
		region_id=`echo $i | cut -d '-' -f1`
		branch_id=`echo $i | cut -d '-' -f2`
                err=0

                #Valido formato archivo

		#Evaluo si REGIONID es valido
                REGION_ID=`cat "$MAEDIR""$sucu" | cut -d"," -f1 | grep "$region_id" | sort -u`                
		if [ -z "$REGION_ID" ]
                then
                     result=`MoverT.sh "$ARRIDIR""$i" "$RECHDIR"`
                     LoguearT.pl "DetectarT" "I" "$RECH_ARCH_INV $i" "DetectarT"
                     err=1
                else
                      err=0
                fi
                
		if [ $err -eq 0 ]
                then
                { 
			#Evaluo si BRANCHID es valido
		        BRANCH_ID=`cat "$MAEDIR""$sucu" | cut -d"," -f3 | grep "$branch_id" | sort -u`
                        if [ -z "$BRANCH_ID" ]
		        then 
		        {
		             result=`MoverT.sh "$ARRIDIR""$i" "$RECHDIR"` 
			     LoguearT.pl "DetectarT" "I" "$RECH_ARCH_INV $i" "DetectarT"
                             err=1
		        } else {
		             err=0
		        }	
		        fi
                }
                fi
                
		#Si ambos REGIONID y BRANCHID son validos proceso el archivo
                if [ $err -eq 0 ]
                then
                {
		        #Toma las fechas desde y hasta del archivo sucursal, para region-sucursal
			var=`awk -F , '{ if ( $1 == '" $region_id "' && $3 == '" $branch_id "' )
				print $7"-"$8 }' "$MAEDIR"/sucu.mae`

		        if [ -z "$var" ]
		        then
		        {	#No existe combinaciòn region-sucursal en el maestro de sucursales
		  		result=`MoverT.sh "$ARRIDIR""$i" "$RECHDIR"`                                
		  		LoguearT.pl "DetectarT" "I" "$RECH_NOT_SUCU $i" "DetectarT"	
		        } else {      
		                fechaDesde=`echo $var | cut -d '-' -f1`
		  		fechaHasta=`echo $var | cut -d '-' -f2`
		  		#Si no tiene fecha hasta
		  		if [ -z $fechaHasta ]
		  		then
				{       
					controlD=`ValidarFecha.sh "$fechaDesde"`
				        #if [ $controlD -eq 0 ] 
                                        if [ -z $controlD ]
                                        then
					{ #Fecha desde, menor o igual  a la fecha actual
					result=`MoverT.sh "$ARRIDIR""$i" "$INSTRECI"`
					LoguearT.pl "DetectarT" "I" "$RECIBIDO_ARCH $i" "DetectarT"
					} else {
		                           #Fecha desde, mayor  a la fecha actual
					result=`MoverT.sh "$ARRIDIR""$i" "$RECHDIR"`
					LoguearT.pl "DetectarT" "I" "$RECH_FECHA_SUP $i" "DetectarT"
					}
					fi

				} else { #si tiene fecha desde y hasta
				        controlH=`ValidarFecha.sh "$fechaHasta"` 
				        #if [ $controlH -eq 0 ]  
                                        if [ -z $controlH ] 
                                        then
					{ 	#Fecha Hasta Inferior a la Actual  " $fechaHasta
						result=`MoverT.sh "$ARRIDIR""$i" "$RECHDIR"`
						LoguearT.pl "DetectarT" "I" "$RECH_FECHA_INF $i" "DetectarT"
					 
					} else { #Fecha Hasta mayor a la actual. Valida fecha desde
		                          
						controlD=`ValidarFecha.sh "$fechaDesde"`
						#if [ $controlD -eq 0 ]
                                                if [ -z $controlD ] 
						then
						{ #Fecha desde, menor o igual a la fecha actual
						result=`MoverT.sh "$ARRIDIR""$i" "$INSTRECI"`
						LoguearT.pl "DetectarT" "I" "$RECIBIDO_ARCH $i" "DetectarT"
						} else {
		                                  #Fecha desde, mayor  a la fecha actual
						result=`MoverT.sh "$ARRIDIR""$i" "$RECHDIR"`
						LoguearT.pl "DetectarT" "I" "$RECH_FECHA_SUP $i" "DetectarT"
						}
						fi	
					}
					fi

				}
			 	fi
		        }
		        fi
		}
                fi

	    done
	}
	fi
        # CHEQUEA DIRECTORIO INST_RECIBIDAS
	control=`ls "$INSTRECI" | wc -l` 2>&1
        if [ $control -ne 0 ]
        then
             pidG=`ps ax | grep GrabarParqueT.sh | grep -v grep | awk '{print $1}'`
             if [ "$pidG" = "" ] #al no estar ejecutandose, llama al grabar parque
             then
              GrabarParqueT.sh
             fi
        fi

#Se detiene temporalmente el chequeo en el directorio ARRIDIR (duerme por un tiempo X)
sleep 5

done
